package metier;

import persistence.dao.AffectationDAO;
import persistence.model.Affectation;
import presentation.beans.AffectationBean;

/**
 * @author Florent
 *
 */
public class AffectationAction {

	/**
	 * 
	 */
	private AffectationDAO affectationDAO = AffectationDAO.getInstance();

	/**
	 * @param affectationBean
	 * @return
	 */
	public static Affectation beanToAffectation(final AffectationBean affectationBean) {
		Affectation affectation = new Affectation();
		affectation.setIdAffectation(affectationBean.getIdAffectation());
		affectation.setPersonne(PersonneAction
				.simpleBeanToPersonne(affectationBean.getPersonne()));
		affectation.setRole(RoleAction.beanToRole(affectationBean.getRole()));
		affectation.setProjet(ProjetAction.simpleBeanToProjet(affectationBean
				.getProjet()));
		return affectation;
	}

	/**
	 * @param affectation
	 * @return
	 */
	public static AffectationBean affectationToBean(final Affectation affectation) {
		AffectationBean affectationBean = new AffectationBean();
		affectationBean.setIdAffectation(affectation.getIdAffectation());
		affectationBean.setPersonne(PersonneAction
				.personneToSimpleBean(affectation.getPersonne()));
		affectationBean.setRole(RoleAction.roleToBean(affectation.getRole()));
		affectationBean.setProjet(ProjetAction.projetToSimpleBean(affectation
				.getProjet()));
		return affectationBean;
	}

	/**
	 * @param affectationBean
	 * @return
	 */
	public AffectationBean createAffectation(AffectationBean affectationBean) {
		affectationBean = affectationToBean(affectationDAO
				.createAffectation(beanToAffectation(affectationBean)));
		return affectationBean;
	}

	/**
	 * @param affectationBean
	 * @return
	 */
	public boolean deleteAffectation(final AffectationBean affectationBean) {
		return affectationDAO
				.deleteAffectation(beanToAffectation(affectationBean));
	}

}
